Part JoinCutout |
Menu location |
---|
Part → Join → Cutout for object |
Workbenches |
Part |
Default shortcut |
None |
Introduced in version |
0.16 |
See also |
Part JoinConnect, Part JoinEmbed, Part Boolean, Part Thickness |
The Part JoinCutout tool creates a cutout in a walled object (e.g. a pipe) to fit another walled object.
Base
The algorithms behind Join tools are quite simple, and understanding them is important to use the tools correctly.
1. Base object is boolean-cut with Tool object. The resulting shape is a set (compound) of non-intersecting solids (typically, two).
2. The resulting compound is filtered: only the largest solid is kept.
3. If Refine property is true, the resulting shape is refined.
The Join tools can by used in macros and from the python console by using the following function:
JoinFeatures.makePartJoinFeature(name = 'Cutout', mode = 'Cutout')
Example:
import JoinFeatures
j = JoinFeatures.makePartJoinFeature(name = 'Cutout', mode = 'Cutout' )
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tool = FreeCADGui.Selection.getSelection()[1]
The tool itself is implemented in Python, see /Mod/Part/JoinFeatures.py (Github link) under where FreeCAD is installed.